SPDY (בשפה המדוברת Speedy) בא להרחיב ולשפר את ביצועי פרוטוקול HTTP. תחילה בשירותים של גוגל, אחרי זה בטוויטר, ומעכשיו גם בשרתי nginx.
SPDY הוכנה במרתפים של גוגל לפני כחצי שנה על מנת לזרז את העברת הנתונים בין השרת לדפדפן. תמיכתה נוספה מיד לגוגל כרום, עם גירסה 13 גם ל-Firefox, כבר מזמן ל-Apache, והחודש גם ל-nginx (בתור Betta).
קבוצת הפיתוח של גוגל הבטיחה שיפורים ענקיים בביצועים והראתה שיפור של 55% במהירות העברת נתונים בשרתי הבדיקות שלה, זאת על ידי הקטנת ה-Latency בבקשות באמצעות כמה טכניקות פשוטות כמו:
1. ריבוב בקשות (Multiplexing)
2. סידור עדיפויות לבקשות
3. דחיסת כותרים (Headers Compression)
4. כותרים אסינכרוניים (Asynchronous Headers)
5. בקרת זרימה
בשביל לבדוק את התועלת הרימו גוגל שרת בדיקות והראו שיפור של עד 55% עבור 25 האתרים הגדולים בעולם. הפרוטוקול פתוח וחופשי, וזוכה לתמיכה מחברות אחרות, ובהם Opera.
תוצאות מחקר חברת Opera לגבי SPDY
Opera ידועים בבניית הדפדפנים המהירים ביותר, בניצול מעולה של משאבים ובין היתר במשאבי הרשת בשירותי ה-Opera Mini וה-Turbo.
Martin Nillson, המפתח הראשי של Opera Software, שלח לארגון IETF HTTP-WG דו"ח מפורט של המחקר שעשתה החברה שלו על SPDY.
המחקר לא כלל נתונים מנוגדים למה שטענו גוגל, אבל כלל הרבה הצעות לשיפורים ושינויים שככל הנראה ייכנסו לספציפיקציה של HTTP 2.0 (שמבוסס, כן, על SPDY), אבל בכל זאת אחד הדברים שבולטים לעין בדוח הזה הוא שדחיסת הנתונים ב-HTTP עדיין טובה יותר מזו של Speedy.
לפעמים SPDY לא מהיר כמו שהוא נשמע
שבוע אחרי פרסום הדו"ח של Opera, החליט המפתח הראשי של Akami, בחור בשם Guy Podjarny, לבדוק את השיפורים של SPDY על 500 האתרים הגדולים ביותר של Alexa, ויצאו לו תוצאות קצת פחות משמחות: אצלו יצא ש-SPDY, בממוצע, מהיר יותר מ-HTTPS רגיל רק ב-4.5%, ואפילו איטי יותר ב-3.4% באתרים על HTTP רגיל, לא מוצפן.
גיא מסביר את זה כך: ברוב האתרים הפרוטוקול הוא לא צוואר הבקבוק שגורם לטעינה אִטית של העמוד, אלא סקריפטים וסטיילים שנמצאים בו. נוסף על כך, Speedy מייעל מאוד טעינה מאותו השרת, אם כי באתרים של היום חצי מהבקשות הן אל שרת אחר, וזה קורה במקביל ממילא. אבל אם גם השרתים האחרים היו משתמשים בספידי – ההבדל היה ניכר.
גיא מוסיף ואומר שהוא אוהב מאוד את ספידי, ושיש לזה המון פוטנציאל. אחרי הכול, זה השדרוג הראשון ל-HTTP בעשר השנים האחרונות.
התקנת SPDY
אפשר להתקין את Speedy ב-Apache עם mod_spdy וגם ב-nginx, אם כי שם זה קצת מסובך יותר.
צריך להוריד את קוד המקור, להפעיל את ה-Patch הזה ולקמפל.
בונוס, סרטון שמשווה את מהירות טעינת עמוד עם דגלי העולם בין SPDY ל-HTTPS: